Public Class ReflectedText

    Private Function GetAscent(ByVal grfx As Graphics, ByVal font As Font) As Single
        Return font.GetHeight(grfx) * font.FontFamily.GetCellAscent(font.Style) \ font.FontFamily.GetLineSpacing(font.Style)
    End Function

    Private Sub ReflectedText_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      
    End Sub

    Private Sub ReflectedText_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim grfx As Graphics = e.Graphics
        Dim cx As Integer = Me.Width
        Dim cy As Integer = Me.Height
        Dim strText As String

        strText = "Reflect"
        Font = New Font("Times New Roman", 54)

        Dim brush As Brush = New SolidBrush(Color.Black)
        Dim fAscent As Single = GetAscent(grfx, Font)
        Dim strfmt = StringFormat.GenericTypographic

        grfx.TranslateTransform(cx / 2, cy / 2)

        Dim i As Integer
        For i = 0 To 3
               grfx.DrawString(strText, font, brush, 0, -fAscent, strfmt) 
        Next


    End Sub
End Class